﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Sail.ContentManagement;
using Sail.Data;
using Sail.Security;
using Sail.UI.Notify;

namespace Sail
{
    /// <summary>
    /// 服务接口
    /// </summary>
    public interface ISailServices : IDependency
    {
        /// <summary>
        /// 内容管理对象
        /// </summary>
        IContentManager ContentManager { get; }

        /// <summary>
        /// 事务管理对象
        /// </summary>
        ITransactionManager TransactionManager { get; }

        /// <summary>
        /// 权限控制对象
        /// </summary>
        IAuthorizer Authorizer { get; }

        /// <summary>
        /// 通知对象
        /// </summary>
        INotifier Notifier { get; }

        /// <summary>
        /// 动态对象
        /// </summary>
        dynamic New { get; }

        /// <summary>
        /// 运行上下文对象
        /// </summary>
        WorkContext WorkContext { get; }
    }
}